A MIMO system is generally characterized by a system that includes a transmitting device that has multiple (M) transmit antennas and a receiving device that has multiple (N) receive antennas. Unfavorable or changing channel conditions are significant impediments to achieving high data rates in today's wireless communication systems and are particularly problematic in MIMO systems. To address unfavorable channel conditions, designers often try to precondition, or pre-code, the signals to be transmitted from the various antennas in a manner that compensates for the condition of the channel. In general, the transfer function of the channel is determined and the inverse of the transfer function is applied to the signals to be transmitted. As such, the preconditioned signals theoretically arrive at the receive antennas as if there were ideal channel conditions.
In reality, channel conditions change quickly and the processing required to dynamically determine channel conditions and how to precondition the signals to be transmitted have traditionally taken a lot of time and processing power. Unfortunately, neither time nor processing power are abundant resources in a cellular communication environment, especially in the user elements. Accordingly, there is a need for a preconditioning process that is efficient and effective for cellular communication environments, including MIMO communication environments.